package com.example.shardingjdbc.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.shardingjdbc.inputDto.EnergyConsumptionInquiryDeptSearchInputDto;
import com.example.shardingjdbc.outputDto.EnergyConsumptionInquiryDeptSearchOutputDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author wangmingwei
 * @date 2024年7月15日10:21:31
 * @description 能耗查询接口类
 */
@Mapper
public interface EnergyConsumptionInquiryDao {

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    IPage<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryDeptList(Page<EnergyConsumptionInquiryDeptSearchOutputDto> page,
                                                                                           @Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                           @Param("statisticalMethods") String statisticalMethods,
                                                                                           @Param("statisticalBy") String statisticalBy,
                                                                                           @Param("groupBy") String groupBy);


    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryDeptChart(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                           @Param("statisticalMethods") String statisticalMethods,
                                                                                           @Param("statisticalBy") String statisticalBy,
                                                                                           @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryDeptChartTwo(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                              @Param("statisticalMethods") String statisticalMethods,
                                                                                              @Param("statisticalBy") String statisticalBy,
                                                                                              @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    IPage<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquirySourceList(Page<EnergyConsumptionInquiryDeptSearchOutputDto> page,
                                                                                             @Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                             @Param("statisticalMethods") String statisticalMethods,
                                                                                             @Param("statisticalBy") String statisticalBy,
                                                                                             @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquirySourceChart(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                             @Param("statisticalMethods") String statisticalMethods,
                                                                                             @Param("statisticalBy") String statisticalBy,
                                                                                             @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquirySourceChartTwo(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                                @Param("statisticalMethods") String statisticalMethods,
                                                                                                @Param("statisticalBy") String statisticalBy,
                                                                                                @Param("groupBy") String groupBy);


    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    IPage<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryNetList(Page<EnergyConsumptionInquiryDeptSearchOutputDto> page,
                                                                                          @Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                          @Param("statisticalMethods") String statisticalMethods,
                                                                                          @Param("statisticalBy") String statisticalBy,
                                                                                          @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryNetChart(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                          @Param("statisticalMethods") String statisticalMethods,
                                                                                          @Param("statisticalBy") String statisticalBy,
                                                                                          @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryNetChartTwo(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                             @Param("statisticalMethods") String statisticalMethods,
                                                                                             @Param("statisticalBy") String statisticalBy,
                                                                                             @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    IPage<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryStationList(Page<EnergyConsumptionInquiryDeptSearchOutputDto> page,
                                                                                              @Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                              @Param("statisticalMethods") String statisticalMethods,
                                                                                              @Param("statisticalBy") String statisticalBy,
                                                                                              @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryStationChart(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                              @Param("statisticalMethods") String statisticalMethods,
                                                                                              @Param("statisticalBy") String statisticalBy,
                                                                                              @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryStationChartTwo(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                                 @Param("statisticalMethods") String statisticalMethods,
                                                                                                 @Param("statisticalBy") String statisticalBy,
                                                                                                 @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryUnitList(
                                                                                           @Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                           @Param("statisticalMethods") String statisticalMethods,
                                                                                           @Param("statisticalBy") String statisticalBy,
                                                                                           @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryUnitChart(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                              @Param("statisticalMethods") String statisticalMethods,
                                                                                              @Param("statisticalBy") String statisticalBy,
                                                                                              @Param("groupBy") String groupBy);

    /**
     * @param energyConsumptionInquiryDeptSearchInputDto
     * @return Result
     * @author wangmingwei
     * @Date 2024年7月15日10:42:52
     * @description 分公司能耗查询
     */
    List<EnergyConsumptionInquiryDeptSearchOutputDto> getEnergyConsumptionInquiryUnitChartTwo(@Param("energyConsumptionInquiryDeptSearchInputDto") EnergyConsumptionInquiryDeptSearchInputDto energyConsumptionInquiryDeptSearchInputDto,
                                                                                                 @Param("statisticalMethods") String statisticalMethods,
                                                                                                 @Param("statisticalBy") String statisticalBy,
                                                                                                 @Param("groupBy") String groupBy);


}
